/*
 ascii - 仅支持 7 位 ASCII 数据。如果设置去掉高位的话，这种编码是非常快的。
 utf8 - 多字节编码的 Unicode 字符。许多网页和其他文档格式都使用 UTF-8 。
 utf16le - 2 或 4 个字节，小字节序编码的 Unicode 字符。支持代理对（U+10000 至 U+10FFFF）。
 ucs2 - utf16le 的别名。
 base64 - Base64 编码。
 latin1 - 一种把 Buffer 编码成一字节编码的字符串的方式。
 binary - latin1 的别名。
 hex - 将每个字节编码为两个十六进制字符。
*/

const str = "123 abc 一二三";
console.log("  ascii = [" + Buffer.from(str, 'ascii').toString() + "]");
console.log("   utf8 = [" + Buffer.from(str, 'utf8').toString() + "]");
console.log("utf16le = [" + Buffer.from(str, 'utf16le').toString() + "]");
console.log(" base64 = [" + Buffer.from(str, 'base64').toString() + "]");
console.log(" latin1 = [" + Buffer.from(str, 'latin1').toString() + "]");
console.log("    hex = [" + Buffer.from(str, 'hex').toString() + "]");

console.log("\n");
const buf = Buffer.from(str, 'utf8');
console.log("  ascii = [" + buf.toString('ascii') + "]");
console.log("   utf8 = [" + buf.toString('utf8') + "]");
console.log("utf16le = [" + buf.toString('utf16le') + "]");
console.log(" base64 = [" + buf.toString('base64') + "]");
console.log(" latin1 = [" + buf.toString('latin1') + "]");
console.log("    hex = [" + buf.toString('hex') + "]");

console.log("程序执行完毕。");

